
const http = require('http');   //本地起服务 -> 只能使用http
const path = require('path');
const fs = require('fs');
const fsp = fs.promises;
// const https = require('https');
// console.log(http);

// 注意: 每次修改服务器相关配置 -> 重启服务器


var { createServer } = http;

// 创建本地服务器(可以接收浏览器,ajax向本服务器发送的请求)  => 返回被创建服务器
var server = createServer(function (req, res) {  // 当前端向此服务器发送请求就会执行此回调函数
    // req (request)  请求相关的信息(对象)
    // res (response) 响应相关的信息(对象)
    console.log("接收前端发送的请求");

    // 响应相关的内容

    // 设置响应的头部信息

    // res.setHeader("Content-Type", "text/plain;charset=utf-8");  //纯文本(utf-8)
    // res.write("hello world"); // 在响应结束之前,输出一段内容到响应文本中 (最终会整合到一起)
    // res.write("你好啊");

    // res.setHeader("Content-Type", "text/html;charset=utf-8");  //html(utf-8)
    // res.write("<h2>hello world</h2>");

    // res.setHeader("Content-Type", "text/json;charset=utf-8");  //json(utf-8)
    // var data = { name: "张三", age: 18 };
    // res.write(JSON.stringify(data));

    // 异步操作
    // res.setHeader("Content-Type", "text/css;charset=utf-8");  //css(utf-8)
    // fsp.readFile(path.join(__dirname, "../data/reset.css"), "utf-8").then(con => {
    //     res.write(con);
    //     res.end();   // 异步操作有结果 响应结束  -> 只能结束一次
    // })


    // res.write("hello world");
    // res.statusCode = 200;    // 响应的状态码
    // res.statusMessage = "OK"; // 响应的提示信息

    // res.statusCode = 404;    // 响应的状态码
    // res.statusMessage = "Not Found"; // 响应的提示信息

    // 同时设置状态码和头信息
    res.setDefaultEncoding("utf-8");
    res.writeHead(200, {
        "Content-Type": "text/plain;charset=utf-8"
    })

    res.write("你好");

    res.end();
});

// server.listen(port,hostname?,callback)
// port   本地服务器监听的端口(80 闲置端口)
// hostname  监听的域名(本地 127.0.0.1  localhost 默认 可以不写)
// callback  服务器启动时执行的回调函数
server.listen(3000, function () {
    console.log("Server is started at localhost:3000");
})



